(1) Field of the Invention
The invention relates generally to the control of I/O devices and more particularly to an apparatus and method for assigning addresses to remote devices which are connected via a transmission link to a supervisory unit.
(2) Prior Art
Modern data processing systems, such as computer installations, point-of-sale terminals, banking terminals, etc. consist of a central processing unit (CPU), a plurality of input/output devices, and one or more communication channels for interconnecting the input/output devices to the central processing unit. Information in the form of messages is exchanged between the CPU and the I/O device. Oftentimes, a single communication channel connects a plurality of devices to the CPU. Also, a common code may be used to communicate with a particular group of devices. For example, all printers or display devices or tape drives, etc. may be assigned a particular code.
For data exchange purposes, the CPU prepares a message, incorporates the particular device code and transmits the message to the device. If only one device of a given type is coupled to the CPU, then that device will respond. However, when multiple devices of the same type are connected to the CPU, each device could attempt to respond. This would cause a problem since the CPU cannot distinguish one I/O device from another.
In order to alleviate the problem, it is necessary that a unique address be assigned to each of the same type of device. When communicating (i.e., receiving/transmitting messages) with an I/O device, the address of the target device is inserted in the message. Since each device is provided with a unique address, only the device whose address is in the message will communicate with the CPU. It is common practice for an operator to manually set the address of an I/O device. However, such settings require a switch or other mechanical mechanism which is costly and subject to failure. Moreover, such settings are susceptible to human error which may cause the wrong unit or units to respond to the CPU or multiple units responding.
U.S. Pat. No. 3,221,307 attempts to solve the human error problem by disclosing an automatic initialization technique for establishing an address for each of a plurality of tape units. In the patent several tape units are connected to a computer through common data and control paths. A circuit is provided for individually selecting the tape units in a predetermined order. As a tape unit is selected, its tape is interrogated and read for address information. The address indicated on the selected tape unit is sent to the computer. Electrical signals are returned to the tape units by the computer on the normally available address lines connecting all of the tape units in common for setting a register, in the selected tape unit, to addresses indicated in the normal address lines. After all of the tape units are set, normal operation is initiated. Whenever the normal address bus between the computer and the tape units indicates an address which corresponds to an address stored in a register of a tape unit, the tape unit which contains the corresponding address is selected.
U.S. Pat. No. 4,387,371 is another example of a prior art technique used in assigning a unique address to one of a plurality of remotely coupled devices. In the patent, a transmitter transmits messages to N receivers by means of a link. The messages include a preamble which is structured so that all or one receiver will respond and use the message.